package ca.usherbrooke.builder.entity;

import ca.usherbrooke.model.bridge.IEntityModelObject;

public class EntityModelObject implements IEntityModelObject {

	public String name;
	// position key
	public float positionX;
	public float positionY;
	public float positionWidth;
	public float positionHeight;

	// jump
	public Integer jumpReloadTimeMs;
	public Integer maxJumpDurationInMs;

	// speed key
	public float maxSpeedValue;
	public float currentSpeedX;
	public float currentSpeedY;

	// fight key
	public Integer maxHp;
	public Integer currentHp;
	public Integer attackReloadTimeMs;
	public Integer remainingAttackReloadTime;
	public Integer currentAttackModifier;
	public Integer damageAdd;

	// vision key
	public Float visionWidth;
	public Float visionHeight;

	// equipment
	public Integer maxCapacity;

	@Override
	public String getName() {
		return name;
	}

	@Override
	public float getPositionX() {
		return positionX;
	}

	@Override
	public float getPositionY() {
		return positionY;
	}

	@Override
	public float getPositionWidth() {
		return positionWidth;
	}

	@Override
	public float getPositionHeight() {
		return positionHeight;
	}

	@Override
	public double getMaxSpeedValue() {
		return maxSpeedValue;
	}

	@Override
	public float getCurrentSpeedX() {
		return currentSpeedX;
	}

	@Override
	public float getCurrentSpeedY() {
		return currentSpeedY;
	}

	@Override
	public Integer getAttackReloadTimeMs() {
		return attackReloadTimeMs;
	}

	@Override
	public Integer getRemainingAttackReloadTime() {
		return remainingAttackReloadTime;
	}

	@Override
	public Integer getCurrentAttackModifier() {
		return currentAttackModifier;
	}

	@Override
	public Integer getDamageAdd() {
		return damageAdd;
	}

	@Override
	public Integer getMaxHp() {
		return maxHp;
	}

	@Override
	public Integer getCurrentHp() {
		return currentHp;
	}

	@Override
	public Integer getJumpReloadTimeMs() {
		return jumpReloadTimeMs;
	}

	@Override
	public Integer getMaxJumpDurationInMs() {
		return maxJumpDurationInMs;
	}

	@Override
	public Float getVisionWidth() {
		return visionWidth;
	}

	@Override
	public Float getVisionHeight() {
		return visionHeight;
	}

	@Override
	public Integer getMaxCapacity() {
		return maxCapacity;
	}

}
